%!PS-Adobe-2.0
%%Title: diplomacy map (modern map)
%%Creator: mapit
%%Pages: (atend) 1
%%BoundingBox: 0 0 612 792
%%Orientation: Landscape
%%DocumentPaperSizes: Letter
%%EndComments

% INFO
% 573   83  ADA Adana
% 315   149 ADR Adriatic Sea
% 425   62  AEG Aegean Sea
% 360   122 ALB Albania
% 478   -39 ALE Alexandria
% 159   67  ALG Algeria
% 232   242 ALS Alsace
% 519   80  ANA Anatolia
% 97    120 AND Andalusia
% 549   124 ANK Ankara
% 332   117 APU Apulia
% 770   -52 ARA Arabian Sea
% 639   135 ARM Armenia
% 527   -91 ASW Aswan
% 314   214 AUS Austria
% 179   197 AUV Auvergne
% 214   653 ARC Arctic Ocean
% 671   129 AZE Azerbaijan
% 355   341 BAL Baltic Sea
% 125   232 BIS Bay of Biscay
% 134   154 BAR Barcelona
% 488   640 BRN Barents Sea
% 231   284 BEL Belgium
% 300   296 BER Berlin
% 420   287 BIE Bielorussia
% 151   199 BOR Bordeaux
% 322   330 BHM Bornholm Sea
% 337   175 BOS Bosnia
% 161   256 BRI Brittany
% 419   148 BUL Bulgaria
% 509   -48 CAI Cairo
% 699   180 CAS Caspian Sea
% 645   184 CAU Caucasus
% 524   285 CEN Central Russian Plateau
% 165   387 CLY Clyde
% 314   177 CRO Croatia
% 315   243 CZE Czech Republic
% 280   352 DEN Denmark
% 529   236 DON Donbas
% 547   166 EBS Eastern Black Sea
% 489   19  EME Eastern Mediterranean
% 441   -39 ESA Eastern Sahara
% 184   400 EDI Edinburgh
% 142   289 ENG English Channel
% 406   386 EST Estonia
% 397   437 FIN Finland
% 277   275 FRA Frankfurt
% 368   318 GDA Gdansk
% 604   177 GEO Georgia
% 64    116 GIB Gibraltar
% 536   391 GOR Gorky
% 384   91  GRE Greece
% 373   389 GOB Gulf of Bothnia
% 195   143 GOL Gulf of Lyon
% 271   301 HAM Hamburg
% 256   337 HEL Heligoland Bight
% 245   307 HOL Holland
% 345   201 HUN Hungary
% 118   580 ICE Iceland
% 356   64  ION Ionian Sea
% 666   1   IRK Irak
% 713   46  IRN Iran
% 712   96  IRN/NC Iran (north coast)
% 755   -36 IRN/SC Iran (south coast)
% 133   363 IRE Ireland
% 115   315 IRI Irish Sea
% 543   -9  ISR Israel
% 470   106 IST Istanbul
% 476   75  IZM Izmir
% 565   -19 JOR Jordan
% 756   243 KAZ Kazakhstan
% 537   260 KHA Kharkov
% 494   256 KIE Kiev
% 370   251 KRA Krakow
% 391   549 LAP Lapland
% 406   359 LAT Latvia
% 291   -17 LIB Libya
% 351   1   LBN Libyan Sea
% 245   167 LIG Ligurian Sea
% 391   334 LIT Lithuania
% 175   346 LIV Liverpool
% 193   314 LON London
% 212   227 LYO Lyon
% 380   135 MAC Macedonia
% 83    170 MAD Madrid
% 293   34  MAL Maltese Sea
% 206   197 MAR Marseilles
% 53    257 MID Mid Atlantic Ocean
% 266   198 MIL Milan
% 452   220 MOL Moldavia
% 224   177 MON Monaco
% 51    86  MOR Morocco
% 500   337 MOS Moscow
% 268   236 MUN Munich
% 463   523 MUR Murmansk
% 321   96  NAP Naples
% 110   194 NAV Navarra
% 72    448 NAO North Atlantic Ocean
% 227   382 NTH North Sea
% 282   424 NWY Norway
% 261   536 NWG Norwegian Sea
% 473   224 ODE Odessa
% 188   238 PAR Paris
% 731   -27 PER Persian Gulf
% 201   270 PIC Picardy
% 243   194 PIE Piedmont
% 417   235 POD Podolia
% 56    179 POR Portugal
% 330   310 PRU Prussia
% 550   -79 RED Red Sea
% 291   133 ROM Rome
% 571   202 ROS Rostov
% 251   280 RUH Ruhr
% 440   181 RUM Rumania
% 669   -70 SAU Saudi Arabia
% 288   251 SAX Saxony
% 354   157 SER Serbia
% 505   219 SEV Sevastopol
% 68    142 SVE Seville
% 714   436 SIB Siberia
% 321   278 SIL Silesia
% 531   -35 SIN Sinai
% 280   378 SKA Skagerrak
% 356   222 SLO Slovakia
% 0 117 SAO South Atlantic Ocean
% 445   385 STP St-Petersburg
% 83    98  SOG Straits of Gibraltar
% 326   392 SWE Sweden
% 251   220 SWI Switzerland
% 580   39  SYR Syria
% 235   41  TUN Tunisia
% 271   161 TUS Tuscany
% 269   100 TYR Tyrrhenian Sea
% 571   484 URA Urals
% 289   167 VEN Venice
% 615   240 VOL Volga
% 168   314 WAL Wales
% 351   288 WAR Warsaw
% 482   162 WBS Western Black Sea
% 179   101 WME Western Mediterranean
% 81    -21 WSA Western Sahara
% 506   572 WHI White Sea
% 196   343 YOR Yorkshire
% MAP

% The original map postscript code is from William Roberts, 30/4/92
% modified by Graeme E Moss (gem@minster.york.ac.uk) for Modern variant,
% 27/7/96

% * modified by George Boyce for use with his mapit program, i.e.
% * this file provides the following procedures:
% *
% * DrawMap      draws the base map
% * DrawName     draws a province name
% * DrawArmy     draws an army
% * DrawFleet    draws a fleet
% * DrawTitle    write game title
% * DrawMessage  write a footnote/message
%
% * OrderReport   positions point to write order report
% * RetreatReport
% * OwnerReport
% * AdjustReport
% * StatusReport
%
% * WriteOrder   writes the order line
% * WriteRetreat
% * WriteOwner
% * WriteAdjust
% * WriteStatus
%
% * ArrowMove    draws arrow indicating a move order
% * ArrowHold
% * ArrowSupport
% * ArrowConvoy
% * ArrowRetreat
%
% * BuildUnit    draws ray around newly built unit
% * DestroyUnit  draws slash through destroyed unit
% * DisbandUnit
% * RemoveUnit
%
% * ArrowArrive  used in blind games
% * ArrowDepart
% * ArrowRetreatArrive
% * ArrowRetreatDepart
% * FindUnit
% * LoseUnit
%

% constants:
  /NameOffset {LetterSize} def      % distance below point to draw name
  /UnitOffset 3 def         % distance above point to draw unit
  /UnitHeight 12 def            % maximum unit height
  /UnitHeightOffset UnitOffset UnitHeight add def

  /TitleFontSize 20 def         % font size (Times-Roman)
  /MessageFontSize 8 def        % font size (Times-Roman)
  /NameFontSize 7 def           % font size (Helvetica-Bold)
  /OrderFontSize 10 def         % font size (Courier)
  /OwnerFontSize 8 def          % font size (Courier)

  /HeadLength 10 def            % of a move arrow head
  /HalfHeadThickness 5 2 div def    

  /HalfThickness 1 2 div def        % of a move/support/convoy arrow shaft

  /HoldCircle 10 def    % of a support hold arrow
  /MoveCircle 4 def % of a support move arrow
  /ConvoyCircle 6 def   % of a convoy arrow

/ShowPage /showpage load def    % nothing special required

/OrderReport {  % to the right of the map
 maxx 5 add maxy 55 sub moveto
 /Courier findfont OrderFontSize scalefont setfont
} def
/RetreatReport { % below order report with a title in slightly larger font
 maxx 5 add miny 10 sub moveto
 /Courier-Bold findfont OrderFontSize 2 add scalefont setfont
 currentpoint OrderFontSize sub 2 sub (Retreat orders:) show moveto
 /Courier findfont OrderFontSize scalefont setfont
} def
/OwnerReport {  % below left half of map
 minx miny 10 sub moveto
 /Courier findfont OwnerFontSize scalefont setfont
} def
/AdjustReport { % below right half of map
 maxx 185 sub miny 10 sub moveto
 /Courier findfont OwnerFontSize scalefont setfont
} def
/StatusReport { % in upper right corner of map
 maxx 70 sub maxy 40 sub moveto
 /Courier findfont OwnerFontSize scalefont setfont
} def

/Write { currentpoint 3 2 roll show moveto 0 FontSize neg rmoveto } def
/WriteOrder { /FontSize OrderFontSize def Write } def
/WriteRetreat { WriteOrder } def
/WriteOwner { /FontSize OwnerFontSize def Write } def
/WriteAdjust { WriteOwner } def
/WriteStatus { WriteOwner } def

% failed orders get dashed lines, good orders normal lines
/FailedOrder { [2] 1 setdash } def
/OkOrder { [] 0 setdash } def

/DrawTitle {
 maxx 5 add maxy 10 sub moveto
 /Times-Roman findfont TitleFontSize scalefont setfont
 currentpoint (DIPLOMACY) show moveto
 0 TitleFontSize neg rmoveto
 dup stringwidth pop 320 exch div dup 1 lt
    { gsave 1 scale show grestore }{ pop show } ifelse
} def

/DrawMessage {
 minx maxy MessageFontSize add moveto
 /Times-Roman findfont MessageFontSize scalefont setfont
 show
} def

% draw an arrow indicating a move order between two points
/ArrowMove {
  /tipy exch def
  /tipx exch def
  /taily exch def
  /tailx exch def

  /dx tipx tailx sub def
  /dy tipy taily sub def
  /angle dy dx atan def

% positon origin at base of arrow with arrow point along x axis
  gsave
  tailx taily translate
  angle rotate

  /arrowlength dx dx mul dy dy mul add sqrt def
  /base arrowlength HeadLength sub def

  % if base of arrow is long enough, shorten it
  % e.g. which moves arrow start beyond support circle
  /x base LetterSize gt {/base base LetterSize sub def LetterSize /arrowlength arrowlength LetterSize sub def} {0} ifelse def
  % if base is still 5 or longer, shorten it some more
  % which makes arrow head touch support circle
  base LetterSize ge {/base base LetterSize sub def /arrowlength arrowlength LetterSize sub def} if

  x 0 translate

  newpath
  0 HalfThickness neg moveto
  base HalfThickness neg lineto
  base HalfHeadThickness neg lineto
  arrowlength 0 lineto
  base HalfHeadThickness lineto
  base HalfThickness lineto
  0 HalfThickness lineto
  closepath

  stroke

  grestore
} def

% draw an arrow indicating support of a unit holding at p1
/ArrowHold {
  /tipy exch def
  /tipx exch def
  /taily exch def
  /tailx exch def

  tailx taily tipx tipy HoldCircle ArrowCircle

} def

% draw arrow indicating support of a unit moving from p1 to p2
/ArrowSupport {
  /y2 exch def
  /x2 exch def
  /y1 exch def
  /x1 exch def
  /taily exch def
  /tailx exch def

% find midpoint of (x1,y1)-(x2,y2)
  /tipx x1 x2 min x1 x2 sub abs 2 div add def
  /tipy y1 y2 min y1 y2 sub abs 2 div add def

  tailx taily tipx tipy MoveCircle ArrowCircle

} def

% draw arrow indicating convoy of a unit moving from p1 to p2
/ArrowConvoy {
  /y2 exch def
  /x2 exch def
  /y1 exch def
  /x1 exch def
  /taily exch def
  /tailx exch def

% find midpoint of (x1,y1)-(x2,y2)
  /tipx x1 x2 min x1 x2 sub abs 2 div add def
  /tipy y1 y2 min y1 y2 sub abs 2 div add def

  tailx taily tipx tipy ConvoyCircle ArrowCircle

} def

% draw an arrow indicating a retreat order between two points
/ArrowRetreat {
  /tipy exch def
  /tipx exch def
  /taily exch def
  /tailx exch def

  /dx tipx tailx sub def
  /dy tipy taily sub def
  /angle dy dx atan def

% positon origin at base of arrow with arrow point along x axis
  gsave
  Red
  tailx taily translate
  angle rotate

  /arrowlength dx dx mul dy dy mul add sqrt def
  /base arrowlength HeadLength 2 mul HalfThickness HalfHeadThickness div sub sub def

  % if base of arrow is long enough, shorten it
  % e.g. which moves arrow start beyond support circle
  /x base LetterSize gt {/base base LetterSize sub def LetterSize /arrowlength arrowlength LetterSize sub def} {0} ifelse def
  % if base is still 5 or longer, shorten it some more
  % which makes arrow head touch support circle
  base LetterSize ge {/base base LetterSize sub def /arrowlength arrowlength LetterSize sub def} if

  /headBase arrowlength base add HalfThickness HalfHeadThickness div sub 2 div def

  x 0 translate

  newpath
  0 HalfThickness neg moveto
  base HalfThickness neg lineto
  base HalfHeadThickness neg lineto
  headBase HalfThickness neg lineto
  headBase HalfHeadThickness neg lineto
  arrowlength 0 lineto
  headBase HalfHeadThickness lineto
  headBase HalfThickness lineto
  base HalfHeadThickness lineto
  base HalfThickness lineto
  0 HalfThickness lineto
  closepath

  stroke

  grestore
} def

/ArrowCircle {  % like an arrow but with a circle at the tip
  /headdiam exch def
  /tipy exch def
  /tipx exch def
  /taily exch def
  /tailx exch def

  /dx tipx tailx sub def
  /dy tipy taily sub def
  /arrowlength dx dx mul dy dy mul add sqrt def
  /angle dy dx atan def
  /base arrowlength headdiam sub def

% positon origin at base of arrow with arrow point along x axis
  gsave
  tailx taily translate
  angle rotate

  % if base of arrow is long enough, shorten it by LetterSize
  % e.g. which moves arrow start beyond support circle
  /x base LetterSize gt {/base base LetterSize sub def /arrowlength arrowlength LetterSize sub def LetterSize} {0} ifelse def

  x 0 translate

% draw the shaft first...
  base HalfThickness neg moveto
  0 HalfThickness neg lineto
  0 HalfThickness lineto
  base HalfThickness lineto
% now the circle...
  /a 180 HalfThickness headdiam 2 div atan sub def
  /b 180 HalfThickness headdiam 2 div atan add def
  arrowlength 0 headdiam a b arcn

  closepath
  stroke
  grestore
} def

% draw an arrow indicating an arrival order to a destination point
/ArrowArrive {

% position origin at base of arrow with arrow point along x axis
  gsave
  translate
  -1 -1 scale

  /arrowlength 20 def
  /base arrowlength HeadLength sub def

  LetterSize arrowlength add neg 0 translate

  newpath
  0 HalfThickness neg moveto
  base HalfThickness neg lineto
  base HalfHeadThickness neg lineto
  arrowlength 0 lineto
  base HalfHeadThickness lineto
  base HalfThickness lineto
  0 HalfThickness lineto
  closepath

  stroke

  HalfThickness 10 mul neg HalfThickness neg HalfThickness 4 mul HalfThickness 2 mul rectstroke
  HalfThickness 20 mul neg HalfThickness neg HalfThickness 4 mul HalfThickness 2 mul rectstroke

  grestore
} bind def

% draw an arrow indicating a departure order from a source point
/ArrowDepart {

% positon origin at base of arrow with arrow point along x axis
  gsave
  translate
  -1 -1 scale

  /arrowlength 14 def

  LetterSize 0 translate

  0 HalfThickness neg arrowlength HalfThickness 2 mul rectstroke

  arrowlength HalfThickness 6 mul add HalfThickness neg HalfThickness 4 mul HalfThickness 2 mul rectstroke
  arrowlength HalfThickness 16 mul add HalfThickness neg HalfThickness 4 mul HalfThickness 2 mul rectstroke

  grestore
} bind def

% draw an arrow indicating an arrival order to a destination point during retreat
/ArrowRetreatArrive {

% positon origin at base of arrow with arrow point along x axis
  gsave
  Red
  translate
  -1 -1 scale

  /arrowlength 20 HeadLength add def
  /base arrowlength HeadLength 2 mul HalfThickness HalfHeadThickness div sub sub def
  /headBase arrowlength base add HalfThickness HalfHeadThickness div sub 2 div def

  LetterSize arrowlength add neg 0 translate

  newpath
  0 HalfThickness neg moveto
  base HalfThickness neg lineto
  base HalfHeadThickness neg lineto
  headBase HalfThickness neg lineto
  headBase HalfHeadThickness neg lineto
  arrowlength 0 lineto
  headBase HalfHeadThickness lineto
  headBase HalfThickness lineto
  base HalfHeadThickness lineto
  base HalfThickness lineto
  0 HalfThickness lineto
  closepath

  stroke

  HalfThickness 10 mul neg HalfThickness neg HalfThickness 4 mul HalfThickness 2 mul rectstroke
  HalfThickness 20 mul neg HalfThickness neg HalfThickness 4 mul HalfThickness 2 mul rectstroke

  grestore
} bind def

% draw an arrow indicating a departure order from a source point during retreat
/ArrowRetreatDepart {
    gsave Red ArrowDepart grestore
} bind def

% draw the given name centered just below the specified point
/DrawName { % x y str => -
 gsave
 /Helvetica-Bold findfont NameFontSize scalefont setfont
 3 1 roll translate
% mark the spot...
% 0 0 5 0 360 arc fill
 dup stringwidth pop
 -2 div 0 NameOffset sub moveto show
 grestore
} def

% draw the given name centered just below the specified point
/DrawName { % x y str => -
 gsave
 /Helvetica-Bold findfont NameFontSize scalefont setfont
 3 1 roll translate
% mark the spot...
% 0 0 5 0 360 arc fill
 dup stringwidth pop
 -2 div 0 NameOffset sub moveto show
 grestore
} def

% Letters for the different countries
%
% 0 means "nobody", then 1-10 ordered alphabetically as in judge info file
/Countries [
  (?) (B) (E) (F) (G) (I) (P) (R) (S) (T) (U)
] def

/country 0 def

/Black { 0 0 0 setrgbcolor } bind def
/White { 0.9 0.9 0.9 setrgbcolor } bind def
/Grey  { 0.7 setgray } bind def

/Red    { 1 0 0   setrgbcolor } bind def
/Blue   { 0 0 1   setrgbcolor } bind def
/Purple { 1 0 1   setrgbcolor } bind def
/Yellow { 1 1 0   setrgbcolor } bind def
/Orange { 1 0.6 0  setrgbcolor } bind def
/Green  { 0 0.7 0 setrgbcolor } bind def
/Brown  { 0.6 0.45 0.2 setrgbcolor } bind def
/Cyan   { 0 1 1 setrgbcolor } bind def
/Pink   { 0.8 0.5 0.5 setrgbcolor } bind def
/Turquoise { 0.2 0.7 0.7 setrgbcolor } bind def
% /Turquoise { 0.1 0.6 0.6 setrgbcolor } bind def
% /Seacolour { 0.5 0.8 0.9 setrgbcolor } bind def
/Seawater { 0.1 0.4 0.6 setrgbcolor } bind def
/Landcolor  { 0.8 0.7 0.4 setrgbcolor } bind def

% Piece colourname, Contrast colourname
%
/UnownedColours { /Brown /White } def
/BritainColours { /Purple /Black } def
/EgyptColours   { /Pink /Black } def
/FranceColours  { /Turquoise /White } def
/GermanyColours { /Black /White } def
/ItalyColours   { /Green /Black } def
/PolandColours  { /White /Black } def
/RussiaColours  { /Red /Black } def
/SpainColours   { /Orange /Black } def
/TurkeyColours  { /Yellow /Black } def
/UkraineColours { /Cyan /Black } def

/set_country { % N /piececolour /contrast => -
    load /Contrast exch store
    load /PieceColour exch store
    /country exch store
} bind def

/UNOWNED { 0 UnownedColours set_country } def
/BRITAIN { 1 BritainColours set_country } def
/EGYPT   { 2 EgyptColours   set_country } def
/FRANCE  { 3 FranceColours  set_country } def
/GERMANY { 4 GermanyColours set_country } def
/ITALY   { 5 ItalyColours   set_country } def
/POLAND  { 6 PolandColours  set_country } def
/RUSSIA  { 7 RussiaColours  set_country } def
/SPAIN   { 8 SpainColours   set_country } def
/TURKEY  { 9 TurkeyColours  set_country } def
/UKRAINE { 10 UkraineColours set_country } def 

/Offsets 11 array def

/max { % p q => max(p,q)
  2 copy lt { exch} if pop
} bind def

/min { % p q => min(p,q)
  2 copy gt { exch} if pop
} bind def

/InitLetters {
  0 0               % maxdx maxdy
  0 1 10 {
    /N exch def
    Countries N get % maxdx maxdy (N)
    newpath 0 0 moveto
    true charpath pathbbox     % ... llx lly urx ury
    %
    % Compute the offset in to centre the letter at 0,0
       4 copy       % llx lly urx ury
       3 -1 roll add -2 div % llx urx dy
       3 1 roll add -2 div  % dy dx
       exch 2 array astore  % [dx,dy]
       Offsets N 3 -1 roll put  % - ([dx,dy] stored in offsets)
    %
    % Update maximum xwidth, ywidth
    3 -1 roll sub       % llx urx leny
    3 1 roll exch sub exch  % lenx leny
                    % maxdx maxdy lenx leny
    3 -1 roll max       % maxdx lenx newmaxdy
    3 1 roll max        % newmaxdy newmaxdx
    exch
  } for

  newpath
  % maxdx maxdy = biggest bounding rectangle of the letters
  max 1.5 mul /LetterSize exch def
} def

/Helvetica-Bold findfont NameFontSize scalefont setfont InitLetters

/PieceColour { 1 setgray } bind def
/Contrast { 0 setgray } bind def

% Army is a little cannon...
/DrawArmy { % x y X => -
  country
  3 1 roll UnitOffset add
  gsave translate
    gsave 
      newpath
      LetterSize 14 div dup scale
      -20 7 moveto 30 0 rlineto 0 -4 rlineto 4 0 rlineto
       0 -2 rlineto -30 0 rlineto 0  2 rlineto -4 0 rlineto
       0 4 rlineto      % barrel
       4 2 moveto 20 -10 rlineto 2 0 rlineto -8 0 rlineto
      -20  10 rlineto       % carriage
      Contrast 2 setlinewidth stroke
      0 0 9 0 360 arc   % wheel
      closepath
      Contrast 2 setlinewidth stroke
      newpath
      -20 7 moveto 30 0 rlineto 0 -4 rlineto 4 0 rlineto
       0 -2 rlineto -30 0 rlineto 0  2 rlineto -4 0 rlineto
       0 4 rlineto      % barrel
       4 2 moveto 20 -10 rlineto 2 0 rlineto -8 0 rlineto
      -20  10 rlineto       % carriage
      PieceColour fill
      0 0 9 0 360 arc   % wheel
      closepath
      PieceColour fill
    grestore
    dup Offsets exch get aload pop  % N dx dy
    moveto
    /Helvetica-Bold findfont NameFontSize scalefont setfont
    Countries exch get Contrast show    % then a white letter
  grestore
} bind def

% Fleet is a little boat...
/DrawFleet { % N x y => -
  country
  3 1 roll UnitOffset add
  gsave translate
    gsave 
      newpath
      LetterSize 14 div dup scale
      -26 -7 moveto 0 5 rlineto 7 0 rlineto 0 1 rlineto     % to bow
      -3 0 rlineto 0 1 rlineto 7 0 rlineto 0 1 rlineto      % A turret
      -3 0 rlineto 0 1 rlineto 8 0 rlineto 0 -2 rlineto     % B turret
      1 0 rlineto 0 4 rlineto 1 0 rlineto 0 2 rlineto       % conn tower
      2 0 rlineto 0 -1 rlineto 1 0 rlineto 0 4 rlineto      % Infra struct
      2 0 rlineto 0 5 rlineto 1 0 rlineto 0 -5 rlineto      % funnel 1
      2 0 rlineto 0 -4 rlineto 1 0 rlineto 0 3 rlineto      % funnel 2
      2 0 rlineto 0 5 rlineto 1 0 rlineto 0 -5 rlineto      % mast 2
      2 0 rlineto 0 -8 rlineto 2 0 rlineto 0 2 rlineto      % funnel 2
      8 0 rlineto 0 -1 rlineto -3 0 rlineto 0 -1 rlineto    % C turret
      7 0 rlineto 0 -1 rlineto -3 0 rlineto 0 -1 rlineto    % D turret
      6 0 rlineto 0 -1 rlineto 2 0 rlineto 0 -2 rlineto     % stern
      -1 0 rlineto 0 -2 rlineto
      closepath
      gsave Contrast 2 setlinewidth stroke grestore
      PieceColour fill
    grestore
    dup Offsets exch get aload pop  % N dx dy
    moveto
    /Helvetica-Bold findfont NameFontSize scalefont setfont
    Countries exch get Contrast show    % then a white letter
  grestore
} bind def

% draw a ray around a newly built unit
/BuildUnit { % x y => -
  gsave
  UnitOffset add translate
  LetterSize 14 div dup scale
  White
  6 setlinewidth [ 1 8 ] 0 setdash
  newpath
  0 0 24 0 360 arc
  closepath stroke
  grestore
} bind def

% draw a slash through a unit
/SlashUnit { % x y => -
  UnitOffset add translate
  LetterSize 14 div dup scale
  newpath
  -21 -16 moveto
%  -5 0 lineto -21 16 lineto -11 16 lineto 0 5 lineto
  11 16 lineto
  21 16 lineto
%  5 0 lineto 21 -16 lineto 11 -16 lineto 0 -5 lineto
  -11 -16 lineto
  closepath
} bind def

% draw a slash through a destroyed unit
/DestroyUnit { % x y => -
  gsave
  SlashUnit
  Red fill
  grestore
} bind def

% draw a slash through a disbanded unit
/DisbandUnit { % x y => -
  gsave
  SlashUnit
  gsave White fill grestore Red 1 setlinewidth [] 0 setdash stroke
  grestore
} bind def

% draw a slash through a removed unit
/RemoveUnit { % x y => -
  gsave
  SlashUnit
  White fill
  grestore
} bind def

% draw a ray around a found unit
/FindUnit { % x y => -
  gsave
  UnitOffset add translate
  LetterSize 14 div dup scale
  Red
  6 setlinewidth [ 1 8 ] 0 setdash
  newpath
  0 0 24 0 360 arc
  closepath stroke
  grestore
} bind def

% draw a question mark on top of a lost unit
/LoseUnit { % x y => -
  gsave
  UnitHeightOffset add translate
  Offsets 0 get aload pop moveto
  /Helvetica-Bold findfont NameFontSize scalefont setfont
  (?) Red show
  grestore
} bind def

/DrawMap {
%0 0 translate
462 92 translate
90 rotate
0.6 dup scale       % reduce the size by 10%
LAND
part1 part2 part3 part4 part5 part5a SEA part6 part7 part8 part9 part10
part11 part12 part13 part14 part15 part16 part17 part18 part19 part20
part21 part22 part23

% 22,12 -> 712,576
lastborder

docenters

% give credits
% /Times-Roman findfont 6 scalefont setfont
% 0 -50 moveto
% currentpoint (Electronic map design by William Roberts,) show
% moveto 0 -6 rmoveto
% currentpoint (modified by Graeme E Moss for Modern variant.) show
% moveto 0 -12 rmoveto
% currentpoint (Map drawn by mapit, public domain software) show
% moveto 0 -6 rmoveto
% currentpoint (written by George Boyce, 1992) show
% moveto 0 -12 rmoveto
% currentpoint (Diplomacy is a trademark of the Avalon Hill Game Company,) show
% moveto 0 -6 rmoveto
% (Baltimore, Maryland, all rights reserved.) show
} def

%
% The rest of this file is the map drawn by William Roberts
% with slight changes to make it fit the page better
%

/minx -30 def /maxx 800 def % was 712, then 650, now altered for
/miny -100 def /maxy 700 def    % modern map

/gm /moveto load def
/lin /lineto load def

/internal { gsave Internalborder stroke grestore newpath } def
/BORDER { gsave Nationalborder stroke grestore newpath} def
/connect { gsave CanalLine stroke grestore newpath} def

/lastborder { 
  gsave
    % frame 
    minx miny moveto
    minx maxy lineto
    maxx maxy lineto
    maxx miny lineto
    closepath
    [] 0 setdash 0 setgray
    gsave 4 setlinewidth stroke grestore
    clip 2 setlinewidth Landcolor stroke
  grestore
} def

/buffer 255 string def

/SEA {
    closepath
    gsave Seawater fill grestore
    gsave Coastcolour stroke grestore
    newpath
} def

/ISLAND {
    closepath
    gsave Landcolor fill grestore
    gsave Coastcolour stroke grestore
    newpath
} def

/LAND {
    gsave
        minx miny moveto
        minx maxy lineto
        maxx maxy lineto
        maxx miny lineto
        closepath
        gsave Landcolor fill grestore
    grestore
} def

/SWITZERLAND {
    closepath
    gsave Swisscolour fill grestore
    BORDER
} def

1 setlinewidth
0 setgray

% /Seacolour { 0.9 setgray } def
/Coastcolour { 1 setlinewidth 0 setgray } def
/Swisscolour { 0.5 setgray } def


% /Internalborder { 1 setlinewidth [2.5] 1.5 setdash 0 setgray } def
/Internalborder { 0.5 setlinewidth [3 1] 1.5 setdash 0 setgray } def
/Nationalborder { 2 setlinewidth 0 setgray } def
% /ConnectingLine { 1 setlinewidth [1 1] 1 setdash 0 setgray } def
/ConnectingLine { 0.5 setlinewidth [3 1] 1.5 setdash 0 setgray } def
/CanalLine { 2.5 setlinewidth [2 3] 1.5 setdash Seawater } def

/supply {
  gsave translate
    PieceColour
    newpath
    0 0 2 0 360 arc
    fill
  grestore
} def

/NAP { 311 117 } def
/ROM { 280 141 } def
/GRE { 402  85 } def
/BUL { 400 149 } def
/IZM { 452  77 } def
/MOR {  36  75 } def
/ANK { 530 124 } def
/LIB { 269  -1 } def
/RUM { 425 176 } def
/MON { 223 189 } def
/HUN { 358 206 } def
/SVE {  57 136 } def
/MAR { 204 180 } def
/BAR { 158 157 } def
/VEN { 281 192 } def
/KRA { 355 249 } def
/BEL { 223 281 } def
/GDA { 354 314 } def
/HOL { 236 302 } def
/SWI { 235 219 } def
/GOR { 556 379 } def
/GEO { 583 182 } def
/MUN { 283 224 } def
/POR {  43 164 } def
/ADA { 542  79 } def
/BER { 307 310 } def
/MIL { 263 188 } def
/LIT { 404 327 } def
/BIE { 416 308 } def
/ALE { 492 -23 } def
/IRN { 711  89 } def
/CZE { 307 249 } def
/SAU { 703 -76 } def
/SER { 357 178 } def
/ISR { 552   5 } def
/LON { 185 305 } def
/CAI { 503 -30 } def
/ODE { 466 212 } def
/EDI { 185 388 } def
/ASW { 508 -93 } def
/SEV { 495 212 } def
/IRE { 138 348 } def
/LIV { 168 337 } def
/NWY { 300 415 } def
/BOR { 153 214 } def
/LYO { 204 214 } def
/DEN { 301 342 } def
/FRA { 269 264 } def
/GIB {  56 119 } def
/MUR { 449 540 } def
/KHA { 518 257 } def
/ROS { 551 223 } def
/SWE { 346 405 } def
/STP { 446 403 } def
/MOS { 526 345 } def
/IST { 446 131 } def
/WAR { 368 286 } def
/KIE { 479 263 } def
/PAR { 204 249 } def
/CRO { 314 191 } def
/AUS { 329 220 } def
/MAD { 101 161 } def
/TUN { 238  62 } def
/HAM { 279 316 } def

/docenters {
UNOWNED
POR supply
HAM supply
TUN supply
MAD supply
AUS supply
CRO supply
PAR supply
SWE supply
WAR supply
STP supply
MOS supply
IST supply
KIE supply
NAP supply
ROM supply
GRE supply
BUL supply
IZM supply
ANK supply
RUM supply
HUN supply
VEN supply
MAR supply
BEL supply
HOL supply
BER supply
LON supply
LIV supply % Lpl
EDI supply
NWY supply % Nwy
DEN supply
%
IRE supply
GIB supply
MOR supply
LIB supply
MON supply
SVE supply
BAR supply
KRA supply
GDA supply
SWI supply
MUN supply
SER supply
ODE supply
SEV supply
MUR supply
BOR supply
FRA supply
CZE supply
KHA supply
ROS supply
GOR supply
GEO supply
ADA supply
IRN supply
SAU supply
ISR supply
CAI supply
ALE supply
ASW supply
BIE supply
LIT supply
MIL supply
LYO supply
Black
} def

/part1 {
% Turkey -> StP coastline
549 31 gm
555 43 lin
555 52 lin
550 60 lin
551 68 lin
555 75 lin
550 75 lin
545 71 lin
536 71 lin
523 60 lin
516 58 lin
508 60 lin
501 64 lin
490 65 lin
486 57 lin
475 55 lin
466 58 lin
459 63 lin
454 60 lin
444 59 lin
448 65 lin
447 73 lin
435 82 lin
435 89 lin
440 94 lin % x55 2
432 98 lin
431 106 lin
438 113 lin
448 114 lin
452 118 lin
458 113 lin
467 122 lin
% black sea bit
458 130 lin
470 131 lin % x63 2
478 129 lin
486 130 lin
488 135 lin
499 145 lin
512 148 lin
519 152 lin
534 148 lin
541 142 lin
552 142 lin
558 139 lin
576 143 lin
580 146 lin
586 146 lin % x57 2
591 152 lin
597 156 lin
600 162 lin % x3 2
590 177 lin
577 177 lin
560 188 lin
551 190 lin
540 197 lin
532 199 lin
% change to an island in Black Sea (this is more correct and allows access
% to the sea by Donbas
538 206 lin
547 217 lin
539 222 lin
551 235 lin
539 228 lin
531 226 lin
521 218 lin
511 211 lin
502 209 lin
495 206 lin
485 205 lin
487 211 lin
475 211 lin
468 201 lin
466 195 lin
462 192 lin
464 182 lin % x9 2
458 181 lin
455 176 lin
453 171 lin
454 163 lin
449 158 lin
446 149 lin
446 142 lin % x4 2
% end of black sea
} def

/part2 {
454 136 lin % x64 2
455 126 lin
450 122 lin
445 122 lin
440 117 lin
432 117 lin
427 121 lin
420 120 lin
416 119 lin
407 117 lin
402 107 lin
394 109 lin
390 113 lin
390 108 lin
399 97 lin
406 92 lin
409 88 lin
413 78 lin
411 77 lin
407 81 lin
408 74 lin
406 73 lin
403 76 lin % start of Peloponnese
397 75 lin
401 72 lin
403 65 lin
401 64 lin
396 68 lin
395 66 lin %
400 60 lin
404 50 lin
402 49 lin % x54 2
396 56 lin
396 49 lin
393 50 lin
390 58 lin
389 58 lin
387 53 lin
381 60 lin
383 63 lin
379 70 lin %
380 75 lin
385 78 lin
394 77 lin
396 79 lin
385 80 lin
377 76 lin % end of Peloponnese
374 80 lin
370 92 lin
363 97 lin
359 102 lin
354 111 lin
351 136 lin % x6 2
339 146 lin
330 150 lin
314 167 lin
310 167 lin
306 172 lin
308 179 lin
302 180 lin
298 184 lin
297 195 lin
286 189 lin
285 180 lin
282 176 lin
294 164 lin
298 152 lin
303 148 lin
305 143 lin
313 136 lin
320 134 lin
322 127 lin
331 125 lin
342 114 lin
347 106 lin
342 100 lin
332 108 lin
327 107 lin
325 101 lin
330 96 lin
325 85 lin
321 77 lin
312 73 lin
308 79 lin
315 87 lin
318 96 lin
313 104 lin
303 111 lin
290 125 lin
279 132 lin
272 141 lin
263 151 lin
261 169 lin % x51 2
252 179 lin
245 181 lin
237 173 lin
223 168 lin
212 168 lin
197 179 lin
} def

/part3 {
183 175 lin
183 160 lin
176 155 lin
159 151 lin
142 142 lin
134 136 lin
134 127 lin
138 124 lin
136 118 lin
126 118 lin
121 109 lin
117 114 lin
109 108 lin
104 103 lin
95 103 lin
86 109 lin
74 110 lin
67 107 lin
57 109 lin
52 119 lin
48 127 lin
44 131 lin % x20 2
34 131 lin
29 139 lin
32 145 lin
36 152 lin
35 156 lin
29 154 lin
31 165 lin
38 172 lin
47 177 lin
52 187 lin
57 203 lin
55 214 lin
60 221 lin
70 218 lin
72 225 lin
92 215 lin
118 201 lin
138 195 lin
156 230 lin % x46 2
149 243 lin
149 254 lin
139 262 lin
128 265 lin
132 276 lin % x40 2
148 279 lin
156 270 lin
164 270 lin
164 286 lin
171 283 lin
171 276 lin
181 273 lin % x47 2
182 279 lin
192 278 lin
197 284 lin
200 290 lin
210 291 lin
219 298 lin
225 300 lin
227 307 lin
240 319 lin % x32 2
256 318 lin % x16 2
258 323 lin
268 320 lin
272 322 lin
273 333 lin
269 336 lin
275 342 lin
271 348 lin
274 356 lin
270 362 lin
278 369 lin
279 361 lin
290 374 lin
294 372 lin
296 366 lin
290 364 lin
290 358 lin
294 354 lin % x34 2
287 349 lin
290 343 lin
294 341 lin
288 336 lin
283 337 lin
280 331 lin % x21 2
284 327 lin
291 326 lin
292 321 lin
297 321 lin
307 325 lin
315 327 lin
312 319 lin
320 316 lin
324 323 lin
327 319 lin
338 325 lin
350 329 lin
356 327 lin
358 319 lin
} def

/part4 {
366 322 lin
365 328 lin
376 330 lin
373 337 lin
375 343 lin
371 351 lin
377 362 lin
381 371 lin
389 370 lin
391 363 lin
397 363 lin
400 373 lin
395 381 lin
388 387 lin
393 396 lin % x22 2
407 400 lin
418 399 lin
423 399 lin
431 407 lin
437 408 lin
431 413 lin
422 413 lin
409 412 lin
401 408 lin
390 407 lin
385 402 lin
376 414 lin
375 425 lin
375 438 lin
371 444 lin
384 460 lin
393 472 lin
401 481 lin
397 489 lin
390 489 lin
379 484 lin
376 472 lin
371 464 lin
363 453 lin
355 444 lin
351 434 lin
349 426 lin
349 418 lin
355 411 lin
361 406 lin
361 400 lin
355 398 lin
358 391 lin
348 388 lin
342 380 lin
343 365 lin
339 353 lin
320 346 lin
321 337 lin
309 336 lin % x25 2
307 342 lin
311 348 lin
305 350 lin
309 357 lin % x33 2
303 370 lin
300 381 lin
301 394 lin
293 396 lin
283 390 lin
272 385 lin
266 387 lin
264 395 lin
257 395 lin
257 401 lin
263 401 lin
266 408 lin
258 407 lin
259 424 lin
263 439 lin
271 449 lin
283 457 lin
295 461 lin
307 470 lin
319 482 lin
325 494 lin
330 505 lin
337 512 lin
341 519 lin
342 525 lin
331 523 lin
340 532 lin
341 538 lin
350 543 lin
349 530 lin
354 542 lin
362 550 lin
372 558 lin
386 564 lin
400 565 lin
413 561 lin
418 566 lin
427 560 lin
421 556 lin
428 549 lin
432 557 lin
} def

/part5 {
443 549 lin
453 549 lin
467 542 lin
477 540 lin
486 533 lin
492 523 lin
489 516 lin
481 510 lin
472 506 lin
460 506 lin
453 508 lin
439 516 lin
450 505 lin
460 495 lin
461 484 lin
473 472 lin
483 473 lin
483 479 lin
474 483 lin
471 492 lin
488 491 lin
495 487 lin
496 495 lin
488 498 lin
490 504 lin
500 517 lin
505 521 lin
511 520 lin
511 527 lin
505 533 lin
504 544 lin
497 550 lin
506 553 lin
515 552 lin
519 544 lin
513 539 lin
514 534 lin
519 538 lin
524 533 lin
530 541 lin
531 553 lin
538 562 lin
543 565 lin
547 572 lin
547 576 lin
% delta = (2,-564)
% 361 lines
% BORDER

% StP Northern Coast
548 579 lin
549 577 lin
548 558 lin
553 554 lin
552 560 lin
553 568 lin
554 574 lin
556 575 lin
559 579 lin
563 584 lin
568 592 lin
575 596 lin
583 609 lin
590 612 lin
594 615 lin
600 614 lin
604 611 lin
614 607 lin
615 615 lin
620 617 lin
640 600 lin
660 590 lin
665 594 lin
657 608 lin
654 609 lin
653 612 lin
657 615 lin
645 625 lin
646 630 lin
665 650 lin
670 640 lin
675 635 lin
680 617 lin
690 610 lin
697 585 lin
693 570 lin
673 567 lin
690 563 lin
695 566 lin
698 573 lin
700 587 lin
702 590 lin
710 588 lin
720 584 lin
724 576 lin
740 570 lin
742 572 lin
740 574 lin
730 580 lin
714 590 lin
708 592 lin
701 595 lin
694 612 lin
690 614 lin
688 624 lin
682 640 lin
675 642 lin
674 645 lin
677 647 lin
687 652 lin
688 660 lin
692 662 lin
694 660 lin
695 652 lin
705 646 lin
711 644 lin
714 640 lin
716 642 lin
713 645 lin
705 652 lin
700 660 lin
704 663 lin
710 664 lin
720 670 lin
730 673 lin
740 671 lin
750 667 lin
752 669 lin
742 673 lin
734 675 lin
736 678 lin
750 676 lin
760 674 lin
765 670 lin
767 672 lin
766 674 lin
767 677 lin
775 676 lin
maxx 680 lin
maxx maxy lin
minx maxy lin
} def

/part5a {
% NAf+Tunis coast
% 698 496 gm
minx 0 lin
-15 10 lin
-5 20 lin
0 55 lin
10 68 lin
20 72 lin
25 76 lin
28 78 lin
32 82 lin
40 93 lin
45 101 lin
55 107 lin
63 101 lin
63 94 lin
78 88 lin
84 87 lin
92 81 lin
108 81 lin
124 85 lin
136 88 lin
146 84 lin
164 86 lin
193 80 lin
212 80 lin
223 74 lin
229 73 lin
235 76 lin
245 76 lin
246 68 lin
256 71 lin % x53 2
257 66 lin
249 59 lin
254 49 lin
253 42 lin
256 34 lin
255 27 lin
252 24 lin
249 23 lin
246 19 lin
244 15 lin
245 10 lin
246 8 lin
250 5 lin
260 6 lin
270 8 lin
285 5 lin
295 7 lin
305 4 lin
315 2 lin
325 -14 lin
335 -20 lin
345 -30 lin
350 -34 lin
360 -36 lin
370 -35 lin
374 -30 lin
376 -24 lin
374 -20 lin
372 -14 lin
371 -6 lin
373 0 lin
375 2 lin
380 4 lin
390 2 lin
394 -2 lin
396 -4 lin
408 -6 lin
418 -9 lin
424 -14 lin
440 -16 lin
460 -20 lin
470 -24 lin
480 -22 lin
484 -20 lin
488 -16 lin
494 -12 lin
497 -10 lin
502 -9 lin
505 -10 lin
510 -13 lin
520 -16 lin
530 -13 lin
540 -10 lin
545 -2 lin
548 10 lin
% 549 31 was the starting point
} def

/part6 {
% Britain
130 300 gm
134 297 lin
140 300 lin
146 301 lin
149 298 lin
154 298 lin
155 304 lin
161 304 lin
165 298 lin
174 298 lin
182 295 lin
186 292 lin
191 293 lin
201 300 lin
193 301 lin
198 305 lin
205 308 lin
207 314 lin
208 322 lin
201 325 lin
194 322 lin
191 326 lin
199 330 lin
200 342 lin
198 350 lin
195 353 lin
195 364 lin
192 371 lin
188 375 lin
181 372 lin
188 379 lin
183 379 lin
190 382 lin
199 389 lin
205 397 lin
193 402 lin
183 402 lin
191 407 lin
197 413 lin
201 419 lin
203 425 lin
193 422 lin
189 417 lin
180 421 lin
173 410 lin % x37 2
164 411 lin
160 407 lin % x43 2
164 402 lin
156 385 lin
157 377 lin
166 374 lin
161 371 lin
161 365 lin
175 365 lin
169 359 lin % x35 2
170 354 lin
174 349 lin
168 342 lin
160 348 lin
155 345 lin
155 339 lin
159 335 lin
154 329 lin
144 327 lin
142 324 lin
147 321 lin
152 323 lin
153 315 lin
159 313 lin
164 316 lin
160 311 lin
150 314 lin
146 311 lin
145 308 lin
136 306 lin
135 302 lin
% 76 lines
ISLAND

% Ireland
109 335 gm
115 335 lin
118 337 lin
124 333 lin
128 333 lin
131 338 lin
137 334 lin
145 346 lin
147 358 lin
153 359 lin % x36 2
157 363 lin
157 370 lin
155 378 lin
149 379 lin
147 383 lin
135 383 lin
132 376 lin
134 373 lin
129 373 lin
121 378 lin
118 372 lin
118 367 lin
112 365 lin
117 361 lin
122 358 lin
114 355 lin
111 348 lin
106 351 lin
103 347 lin
103 339 lin
% 14 lines
ISLAND
} def

/part7 {
% Sea in StP south
448 412 gm
451 418 lin
457 420 lin
452 427 lin
443 430 lin
439 434 lin
434 428 lin
438 423 lin
444 423 lin
446 417 lin
SEA

% Sea in StP north
477 431 gm
481 432 lin
480 438 lin
472 442 lin
472 448 lin
466 445 lin
468 439 lin
475 436 lin
SEA

% Caspian Sea
722 192 gm
720 196 lin
707 200 lin
703 209 lin
691 210 lin
689 213 lin
690 215 lin
700 214 lin
698 218 lin
706 227 lin
723 226 lin
717 230 lin
723 245 lin
720 257 lin
705 260 lin
697 256 lin
687 258 lin
676 254 lin
669 254 lin
664 242 lin
660 240 lin
657 238 lin
648 239 lin
656 230 lin
648 221 lin
644 210 lin
647 198 lin
659 193 lin
660 185 lin
662 183 lin
670 170 lin
676 171 lin
682 161 lin
694 161 lin
698 157 lin
688 151 lin
690 144 lin
692 136 lin
688 117 lin
694 109 lin
702 104 lin
708 100 lin
716 102 lin
726 98 lin
740 97 lin
741 135 lin
736 136 lin
737 145 lin
730 146 lin
729 160 lin
733 156 lin
756 154 lin
755 164 lin
750 167 lin
748 184 lin
733 180 lin
730 164 lin
728 168 lin
727 186 lin
SEA

% Cyprus
537 56 gm
527 50 lin
518 49 lin
511 44 lin
512 37 lin
522 37 lin
531 43 lin
532 49 lin
ISLAND

% Crete
437 37 gm
435 36 lin
426 37 lin
422 40 lin
414 39 lin
412 37 lin
409 40 lin
403 39 lin
401 36 lin
401 30 lin
408 33 lin
419 28 lin
422 28 lin
426 32 lin
435 30 lin
438 34 lin
ISLAND
} def

/part8 {
% Sicily
306 80 gm
300 83 lin
298 79 lin
289 79 lin
284 84 lin
276 84 lin
272 79 lin
278 72 lin
288 66 lin
295 60 lin
301 56 lin
305 60 lin
305 72 lin
ISLAND

% Sardinia
243 104 gm
235 102 lin
231 100 lin
229 107 lin
232 117 lin
230 125 lin
228 130 lin
233 134 lin
236 130 lin
240 130 lin % x52 2
243 135 lin
248 130 lin
249 123 lin
ISLAND

% Corsica
250 160 gm
242 154 lin
237 152 lin
237 145 lin
241 139 lin
246 137 lin
249 147 lin
252 152 lin
ISLAND

% Majorca
173 129 gm
168 129 lin
165 126 lin
166 120 lin
173 120 lin
178 125 lin
ISLAND

% Shetland
224 443 gm
219 443 lin
214 436 lin
219 432 lin
224 439 lin % x45 2
ISLAND

% Faroes
185 461 gm % x42 2
192 470 lin
196 476 lin
193 481 lin
185 479 lin % x44 2
182 474 lin
188 471 lin
184 465 lin
ISLAND

% Gotland
363 373 gm
360 366 lin
359 361 lin
353 360 lin
350 364 lin
350 369 lin
355 373 lin % x24 2
ISLAND


% Denmark's little island
302 348 gm
305 344 lin
304 336 lin
297 333 lin
295 337 lin
298 341 lin
294 346 lin
298 350 lin
ISLAND
} def

/part9 {
% Arm|Sev
% 688 148 gm
% 679 143 lin
% 679 154 lin
% 674 159 lin
% 671 148 lin
% 656 137 lin
650 140 gm
627 148 lin
BORDER %^ARM|GEO

627 148 gm
626 160 lin
614 165 lin
607 160 lin
600 162 lin % x3 2
% delta = (88,-14)
% 10 lines
BORDER %^ANK|GEO

% Con|Bul
446 142 gm % x4 2
436 141 lin
433 143 lin
429 134 lin
BORDER %^IST|BUL

429 134 gm
433 128 lin
427 120 lin
% delta = (19,22)
% 5 lines
BORDER %^GRE|IST

% Gre|Bul
429 134 gm
417 130 lin
410 136 lin
401 126 lin
394 129 lin % x12 2
BORDER %^GRE|BUL

374 120 gm % x5 2
372 107 lin
362 98 lin
% delta = (56,22)
% 8 lines
BORDER %^GRE|ALB

} def

/part10 {

% Switzerland
271 212 gm % x13 2
266 206 lin
260 212 lin
256 202 lin
BORDER %^SWI|MIL
256 202 gm
251 202 lin
251 211 lin
241 207 lin
237 211 lin % x15 2
BORDER %^SWI|PIE
237 211 gm
240 216 lin
227 210 lin
226 217 lin
BORDER %^SWI|MAR
226 217 gm
234 223 lin
BORDER %^SWI|LYO
234 223 gm
242 228 lin
BORDER %^SWI|ALS
242 228 gm
249 225 lin
260 229 lin
266 225 lin % x14 2
BORDER %^SWI|MUN
266 225 gm
267 217 lin
271 212 lin
BORDER %^SWI|AUS

% Fra|Ital
237 211 gm % x15 2
235 198 lin
228 195 lin
BORDER %^MAR|PIE
228 195 gm
229 189 lin
235 184 lin
234 172 lin
% delta = (3,38)
% 5 lines
BORDER %^MON|PIE

% Fra|Ger
243 228 gm
243 241 lin
253 245 lin
BORDER %^MUN|ALS
253 245 gm % x31 2
252 251 lin
238 257 lin
BORDER %^RUH|ALS
238 257 gm
244 264 lin
240 269 lin
241 283 lin
241 290 lin % x17 2
BORDER %^BEL|RUH
241 290 gm % x17 2
248 294 lin % x29 2
256 295 lin
BORDER %^HOL|RUH
256 295 gm
252 307 lin
258 310 lin
258 314 lin
256 318 lin % x16 2
% delta = (-13,-90)
% 14 lines
BORDER %^HOL|HAM
} def

/part11 {
% Bel|Hol
241 290 gm % x17 2
224 299 lin
% delta = (17,-9)
% 1 lines
BORDER %^BEL|HOL

% Belgium|France
238 257 gm
232 257 lin
234 263 lin
227 264 lin % x48 2
BORDER %^BEL|ALS
227 264 gm % x48 2
228 273 lin
224 277 lin
219 271 lin
218 280 lin
213 280 lin
211 286 lin
205 290 lin
% delta = (33,-32)
% 10 lines
BORDER %^PIC|BEL

% Norway|Sweden
302 394 gm
308 398 lin
316 417 lin
312 426 lin
320 432 lin
320 438 lin
315 444 lin
318 457 lin
323 469 lin
331 467 lin
334 476 lin
BORDER %^NWY|SWE
334 476 gm
339 487 lin
339 495 lin
349 504 lin
349 513 lin
356 522 lin
361 517 lin
361 531 lin
369 524 lin
372 526 lin
371 532 lin % x19 2
BORDER %^LAP|SWE
371 532 gm % x19 2
372 540 lin
379 545 lin
382 541 lin
381 534 lin
401 535 lin
405 539 lin
401 542 lin
402 548 lin
407 552 lin
417 549 lin
421 546 lin
421 536 lin
424 530 lin
BORDER %^LAP|FIN
424 530 gm
429 536 lin
428 550 lin
% delta = (-126,-156)
% 34 lines
BORDER %^LAP|MUR

% Sweden|Finland
371 532 gm % x19 2
376 531 lin
383 525 lin
388 522 lin
390 509 lin
390 488 lin
% delta = (-19,44)
% 5 lines
BORDER %^FIN|SWE
} def

/part12 {
% Hebrides
174 421 gm
170 423 lin
164 418 lin
159 416 lin
158 411 lin
165 414 lin
170 414 lin
173 417 lin
ISLAND

% Portugal|Spain
57 202 gm
64 203 lin
65 198 lin
67 193 lin
73 195 lin
74 192 lin
84 195 lin
82 188 lin
BORDER %^POR|NAV

82 188 gm
79 188 lin
70 179 lin
66 168 lin
63 162 lin
58 162 lin
57 154 lin
57 148 lin
BORDER %^POR|MAD

57 148 gm
44 131 lin
BORDER %^POR|SVE

% France|Spain
183 169 gm
177 168 lin
172 171 lin
167 171 lin
BORDER %^BAR|AUV
167 171 gm % x50 2
167 178 lin % x50 2
161 183 lin
BORDER %^NAV|AUV
161 183 gm
154 179 lin
137 195 lin
BORDER %^NAV|BOR

% Den|Kie
272 333 gm
280 331 lin % x21 2
BORDER %^DEN|HAM
} def

/part13 {

%
415 413 gm
420 427 lin
422 455 lin
BORDER %^FIN|STP
422 455 gm
424 531 lin
BORDER %^FIN|MUR

% GOB|BAL
378 365 gm
361 367 lin
% delta = (17,-2)
% 1 lines
internal %hav (to Gotland)

% GOB|BAL
355 373 gm % x24 2
342 381 lin
% delta = (13,-8)
% 1 lines
internal %hav

% DEN|BAL
309 336 gm % x25 2
300 329 lin
294 329 lin
288 337 lin
% delta = (21,-1)
% 3 lines
internal %hav
} def

/part14 {
% NTH|HEL
271 349 gm
265 354 lin
252 355 lin
241 341 lin
236 328 lin
240 319 lin % x32 2
% delta = (31,30)
% 5 lines
internal

% NTH|SKA
271 362 gm
264 369 lin
261 381 lin
266 389 lin
% delta = (5,-27)
% 3 lines
internal

% SKA|DEN
309 357 gm % x33 2
294 354 lin % x34 2
% delta = (15,3)
% 1 lines
internal %hav (DK to S)

% NAO|IRI
169 359 gm % x35 2
153 359 lin % x36 2
% delta = (16,0)
% 1 lines
internal %Ireland to England

%
173 410 gm % x37 2
176 380 lin % x38 2
internal % BORDER %^CLY|EDI
176 380 gm % x38 2
165 375 lin
% delta = (8,35)
% 2 lines
internal % BORDER %^CLY|LIV

%
176 380 gm % x38 2
180 362 lin
internal % BORDER %^EDI|LIV
180 362 gm
187 346 lin
186 332 lin % x39 2
internal % BORDER %^LIV|YOR
186 332 gm % x39 2
180 322 lin
internal % BORDER %^WAL|YOR
180 322 gm
176 307 lin
181 296 lin
% delta = (-5,84)
% 6 lines
internal % BORDER %^WAL|LON

%
192 323 gm
179 321 lin
% delta = (13,2)
% 1 lines
internal % BORDER %^YOR|LON

%
186 332 gm % x39 2
174 330 lin
158 335 lin
% delta = (28,-3)
% 2 lines
internal % BORDER %^LIV|WAL

%
193 367 gm
180 363 lin
% delta = (13,4)
% 1 lines
internal % BORDER %^EDI|YOR
} def

/part15 {
% IRI|ENG
129 300 gm
103 284 lin
% delta = (26,16)
% 1 lines
internal %Hav (Iri|Eng)

% MAO|NAO/IRI/ENC
132 276 gm % x40 2
103 283 lin
71 295 lin % x41 2
minx 316 lin
% delta = (110,-40)
% 3 lines
internal

% NAO|IRI
71 295 gm % x41 2
108 335 lin
% delta = (-37,-40)
% 1 lines
internal

% NWG|NAO lower
170 422 gm
185 461 lin % x42 2
% delta = (-5,-40)
% 1 lines
internal

% NWG|NAO to Cly
158 410 gm
160 407 lin % x43 2
internal

% NWG|NAO top
185 479 gm % x44 2
141 576 lin
% delta = (44,-97)
% 1 lines
internal

% NWG|NTH (left)
215 435 gm
202 425 lin
% delta = (13,10)
% 1 lines
internal

% NWG|NTH (right)
224 439 gm % x45 2
269 447 lin
% delta = (-45,-8)
% 1 lines
internal

%
156 230 gm % x46 2
169 234 lin
internal % BORDER %^BOR|BRI
169 234 gm
181 254 lin
internal % BORDER %^BRI|PAR
181 254 gm
181 273 lin % x47 2
% delta = (-25,-43)
% 3 lines
internal % BORDER %^PIC|BRI

196 223 gm
205 234 lin
217 243 lin
internal % BORDER %^PAR|LYO
217 243 gm
222 255 lin
internal % BORDER %^PAR|ALS
222 255 gm
227 264 lin % x48 2
% delta = (-59,-30)
% 7 lines
internal % BORDER %^PIC|ALS

%
223 256 gm
211 260 lin
197 255 lin
181 255 lin
% delta = (42,1)
% 3 lines
internal % BORDER %^PIC|PAR

%
197 223 gm
199 203 lin % x49 2
internal % BORDER %^AUV|LYO
199 203 gm % x49 2
213 214 lin
227 217 lin
% delta = (-30,6)
% 3 lines
internal % BORDER %^LYO|MAR

%
199 203 gm % x49 2
188 176 lin
% delta = (32,25)
% 2 lines
internal % BORDER %^AUV|MAR

} def

/part16 {
% LYO|WME (left)
137 122 gm
165 123 lin
% delta = (-28,-1)
% 1 lines
internal %To Mallorca

% LYO|WME (right)
178 126 gm
230 124 lin
% delta = (-52,2)
% 1 lines
internal

% WME|TYS
232 100 gm
236 76 lin
% delta = (-4,24)
% 1 lines
internal

% GOL|LIG (bottom)
240 140 gm
240 130 lin % x52 2
% delta = (0,10)
% 1 lines
internal

% TYR|MAL (bottom)
272 78 gm
256 71 lin % x53 2
% delta = (16,7)
% 1 lines
internal
% TYR|MAL (top)
305 71 gm
310 74 lin
internal

% ADR|ION
354 110 gm
346 106 lin
% delta = (8,4)
% 1 lines
internal

% ION|AEG
402 49 gm % x54 2
408 40 lin
% delta = (-6,9)
% 1 lines
internal

% ION|EME
410 32 gm
407 15 lin
% delta = (3,20)
% 1 lines
internal

% AEG|EME
467 58 gm
456 55 lin
447 43 lin
438 35 lin
% delta = (29,23)
% 3 lines
internal

% AEG|IST
432 107 gm
431 117 lin
% delta = (1,-10)
% 1 lines
internal %Bosporus

% 
484 129 gm
491 93 lin % x56 2
% delta = (-7,36)
% 1 lines
internal % BORDER %^IST|ANK

%
440 94 gm % x55 2
452 88 lin
471 93 lin
491 93 lin % x56 2
internal % BORDER %^IST|IZM
491 93 gm % x56 2
512 100 lin
internal % BORDER %^IZM|ANK
512 100 gm
531 105 lin
internal % BORDER %^ANK|ANA
531 105 gm
549 100 lin
565 103 lin
578 110 lin
592 121 lin
618 134 lin
% delta = (-152,-27)
% 9 lines
internal % BORDER %^ANK|ADA
} def

/part17 {
%
260 184 gm
251 180 lin
% delta = (30,35)
% 4 lines
internal % BORDER %^PIE|TUS

%
260 184 gm
269 182 lin
internal % BORDER %^MIL|TUS
269 182 gm
279 164 lin
285 155 lin
internal % BORDER %^TUS|VEN
285 155 gm
300 141 lin
internal % BORDER %^ROM|VEN
300 141 gm
309 125 lin
internal % BORDER %^ROM|APU
309 125 gm
323 114 lin
327 104 lin
% delta = (-69,84)
% 7 lines
internal % BORDER %^APU|NAP

%
308 126 gm
294 121 lin
% delta = (14,5)
% 1 lines
internal % BORDER %^ROM|NAP

%
304 143 gm
299 141 lin
% delta = (5,2)
% 1 lines
internal % BORDER %^APU|VEN

%
285 155 gm
269 144 lin
% delta = (16,11)
% 1 lines
internal % BORDER %^TUS|ROM
} def

/part18 {

% IST|WBS
470 131 gm % x63 2
454 136 lin % x64 2
internal %Sea (Con and Bul)

% BAR|NWG
394 565 gm
384 maxy lin
internal

% ENC|NTH
200 300 gm
214 294 lin
internal
} def

/part19 {
% Iceland
141 576 gm
145 580 lin
147 584 lin
150 588 lin
140 590 lin
138 600 lin
120 602 lin
118 596 lin
116 601 lin
105 596 lin
103 590 lin
99 595 lin
85 597 lin
92 610 lin
80 608 lin
78 612 lin
70 605 lin
60 597 lin
80 592 lin
65 587 lin
83 580 lin
70 570 lin
80 565 lin
90 562 lin
100 560 lin
110 563 lin
118 564 lin
130 565 lin
135 569 lin
ISLAND

% ARC|NAO
70 605 gm
minx maxy lin
internal

% NWY|LAP
334 476 gm
322 488 lin
internal % BORDER %^NWY|LAP

% ARC|NWG
389 629 gm
150 588 lin
internal

% ION|LBN|EME
321 77 gm
350 35 lin
%407 15 lin
468 -6 lin
480 -22 lin
internal

% MAL|LBN
350 35 gm
315 2 lin
internal

% Red Sea and Arabian Sea
547 miny gm
545 -94 lin
542 -90 lin
534 -70 lin
527 -54 lin
522 -44 lin
518 -36 lin
517 -32 lin
517 -31 lin
519 -32 lin
526 -42 lin
530 -52 lin
531 -53 lin
533 -50 lin
538 -39 lin
541 -36 lin
540 -40 lin
538 -46 lin
534 -52 lin
535 -54 lin
540 -55 lin
550 -58 lin
562 -70 lin
570 -90 lin
574 miny lin
SEA

% Arabian Sea and Persuin Gulf
maxx -70 gm
797 -65 lin
796 -60 lin
797 -46 lin
793 -44 lin
790 -50 lin
784 -60 lin
780 -64 lin
765 -73 lin
760 -75 lin
755 -76 lin
752 -74 lin
750 -66 lin
748 -60 lin
747 -67 lin
745 -70 lin
740 -67 lin
730 -55 lin
720 -40 lin
713 -26 lin
708 -18 lin
707 -12 lin
709 -10 lin
712 -8 lin
720 -10 lin
730 -14 lin
740 -30 lin
752 -36 lin
760 -38 lin
770 -35 lin
780 -24 lin
784 -22 lin
786 -20 lin
790 -20 lin
793 -21 lin
maxx -24 lin
SEA

% PER|ARA
748 -60 gm
752 -36 lin
internal

% RED|ARA
560 -95 gm
762 -95 lin
762 -65 lin
connect

% Island in Black Sea
530 199 gm
525 194 lin
514 191 lin
511 182 lin
503 181 lin
497 184 lin
504 186 lin
502 195 lin
490 195 lin
489 199 lin
500 204 lin
505 207 lin
511 206 lin
515 200 lin
526 201 lin
ISLAND

% EBS|WBS
519 152 gm
511 182 lin
internal
517 200 gm
515 214 lin
internal
} def

/part20 {
% NAO|SAO
30 165 gm
minx 170 lin
internal 

% SAO|SOG
52 117 gm
44 101 lin
internal

% SOG|WME
103 103 gm
107 81 lin
internal

% GOL|LIG (top)
205 172 gm
211 154 lin
236 152 lin
internal

% LIG|TYR  changed, cause TYR is adjacent GOL
248 140 gm
278 132 lin
internal

%
49 124 gm
60 126 lin
70 126 lin
BORDER %^GIB|SVE
70 126 gm
76 109 lin
BORDER %^GIB|AND

%
83 87 gm
83 20 lin
BORDER %^MOR|ALG
83 20 gm
minx -40 lin
BORDER %^MOR|WSA

% ALG|TUN
224 74 gm
224 60 lin
213 52 lin
217 39 lin
217 7 lin
230 -10 lin
% delta = (7,62)
% 4 lines
BORDER %^ALG|TUN

230 -10 gm
230 -50 lin
BORDER %^ALG|LIB

230 -10 gm
230 miny lin
BORDER %^WSA|LIB

230 -10 gm
249 5 lin
BORDER %^TUN|LIB

83 20 gm
185 -50 lin
230 -50 lin
internal % BORDER %^WSA|ALG

168 234 gm
175 220 lin
internal % BORDER %^PAR|BOR
175 220 gm
184 218 lin
196 223 lin
internal % BORDER %^PAR|AUV

58 154 gm
86 150 lin
92 132 lin
internal % BORDER %^SVE|MAD

70 126 gm
92 132 lin
internal % BORDER %^SVE|AND

92 132 gm
114 137 lin
internal % BORDER %^MAD|AND

82 188 gm
123 165 lin
internal % BORDER %^MAD|NAV

114 137 gm
123 165 lin
internal % BORDER %^MAD|BAR

114 137 gm
125 118 lin
internal % BORDER %^AND|BAR

123 165 gm
166 171 lin
internal % BORDER %^NAV|BAR

175 220 gm
160 182 lin
internal % BORDER %^BOR|AUV

215 168 gm
216 190 lin
228 195 lin
BORDER %^MON|MAR

217 243 gm
234 223 lin
internal % BORDER %^LYO|ALS

256 202 gm
260 184 lin
internal % BORDER %^PIE|MIL

269 182 gm
280 207 lin
internal % BORDER %^MIL|VEN

271 212 gm
280 207 lin
BORDER %^MIL|AUS

255 295 gm
269 284 lin
internal % BORDER %^RUH|HAM

269 284 gm
257 270 lin
266 252 lin
internal % BORDER %^RUH|FRA

252 245 gm
266 252 lin
internal % BORDER %^RUH|MUN

266 252 gm
275 253 lin
internal % BORDER %^FRA|MUN

275 253 gm
280 237 lin
293 231 lin
291 218 lin
internal % BORDER %^MUN|SAX

291 218 gm
279 218 lin
266 225 lin
BORDER %^MUN|AUS
} def

/part21 {
269 284 gm
288 300 lin
internal % BORDER %^HAM|FRA

288 300 gm
291 321 lin
internal % BORDER %^HAM|BER

288 300 gm
293 279 lin
internal % BORDER %^FRA|BER

293 279 gm
275 253 lin
internal % BORDER %^FRA|SAX

293 279 gm
313 284 lin
internal % BORDER %^BER|SAX

313 284 gm
318 299 lin
BORDER %^BER|SIL

318 299 gm
319 316 lin 
BORDER %^BER|PRU

291 218 gm
304 224 lin
309 234 lin
BORDER %^SAX|AUS

309 234 gm
300 251 lin
313 259 lin
BORDER %^SAX|CZE

313 259 gm
322 250 lin
330 253 lin
BORDER %^CZE|SIL

313 259 gm
313 284 lin
BORDER %^SAX|SIL

330 253 gm
329 269 lin
335 278 lin
internal % BORDER %^SIL|KRA

335 278 gm
333 297 lin
internal % BORDER %^SIL|WAR

318 299 gm
333 297 lin
internal % BORDER %^SIL|PRU

333 297 gm
346 306 lin
internal % BORDER %^PRU|WAR

346 306 gm
378 308 lin
383 325 lin
internal % BORDER %^GDA|WAR

346 306 gm
343 327 lin
internal % BORDER %^PRU|GDA

375 330 gm
383 325 lin
BORDER %^GDA|LIT

383 325 gm
391 317 lin
BORDER %^LIT|WAR

391 317 gm
388 280 lin
BORDER %^WAR|BIE

388 280 gm
366 268 lin
344 270 lin
335 278 lin
internal % BORDER %^WAR|KRA

388 280 gm
394 262 lin
BORDER %^KRA|BIE

394 262 gm
399 246 lin
375 234 lin
BORDER %^KRA|POD

375 234 gm
346 238 lin
BORDER %^KRA|SLO

346 238 gm
330 253 lin
BORDER %^CZE|KRA

346 238 gm
339 229 lin
BORDER %^CZE|SLO

339 229 gm
326 235 lin
309 234 lin
BORDER %^CZE|AUS

339 229 gm
340 216 lin
BORDER %^AUS|SLO

340 216 gm
327 200 lin
BORDER %^AUS|HUN

340 216 gm
363 211 lin
376 222 lin
BORDER %^SLO|HUN

376 222 gm
375 234 lin
BORDER %^SLO|POD

327 200 gm
296 203 lin
BORDER %^AUS|CRO

296 203 gm
280 207 lin
BORDER %^VEN|AUS

296 195 gm
296 203 lin
BORDER %^VEN|CRO

327 200 gm
348 188 lin
BORDER %^CRO|HUN

348 188 gm
347 178 lin
BORDER %^CRO|SER (north)

347 178 gm
345 167 lin
339 159 lin
BORDER %^BOS|SER

339 159 gm
333 148 lin
BORDER %^CRO|SER (south)
} def

/part22 {
347 178 gm
328 182 lin
324 174 lin
339 159 lin
BORDER %^CRO|BOS

348 188 gm
362 190 lin
BORDER %^HUN|SER

362 190 gm
385 207 lin
BORDER %^HUN|RUM

385 207 gm
376 222 lin
BORDER %^HUN|POD

362 190 gm
383 165 lin
BORDER %^SER|RUM

383 165 gm
385 149 lin
BORDER %^SER|BUL

385 149 gm
368 141 lin
BORDER %^SER|MAC

368 141 gm
358 147 lin
347 139 lin
BORDER %^SER|ALB

368 141 gm
374 120 lin
BORDER %^ALB|MAC

374 120 gm
394 129 lin
BORDER %^MAC|GRE

394 129 gm
385 149 lin
BORDER %^MAC|BUL

383 165 gm
416 161 lin
453 171 lin
BORDER %^RUM|BUL

385 207 gm
417 205 lin
441 221 lin
BORDER %^RUM|POD

441 221 gm
447 199 lin
BORDER %^RUM|MOL

447 199 gm
462 192 lin
BORDER %^RUM|ODE

447 199 gm
464 218 lin
461 235 lin
BORDER %^MOL|ODE

441 221 gm
461 235 lin
BORDER %^MOL|POD

461 235 gm
466 256 lin
internal % BORDER %^POD|ODE

466 256 gm
450 266 lin
internal % BORDER %^POD|KIE

450 266 gm
394 262 lin
BORDER %^BIE|POD

450 266 gm
469 274 lin
BORDER %^BIE|KIE

469 274 gm
463 297 lin
BORDER %^BIE|CEN

463 297 gm
485 305 lin
503 297 lin
561 317 lin
571 307 lin
internal % BORDER %^CEN|MOS

571 307 gm
556 273 lin
internal % BORDER %^CEN|VOL

556 273 gm
514 267 lin
BORDER %^CEN|KHA

514 267 gm
492 280 lin
469 274 lin
BORDER %^KIE|CEN

514 267 gm
510 245 lin
internal % BORDER %^KIE|KHA

510 245 gm
539 251 lin
568 249 lin
internal % BORDER %^KHA|DON

556 273 gm
566 262 lin
568 249 lin
BORDER %^KHA|VOL

568 249 gm
567 241 lin
BORDER %^DON|VOL

567 241 gm
552 236 lin
BORDER %^DON|ROS

510 245 gm
508 229 lin
internal % BORDER %^KIE|DON

508 229 gm
522 220 lin
internal % BORDER %^SEV|DON

508 229 gm
486 218 lin
internal % BORDER %^KIE|SEV

486 218 gm
487 211 lin
internal % BORDER %^ODE|SEV

486 218 gm
482 247 lin
466 256 lin
internal % BORDER %^ODE|KIE
} def

/part23 {
463 297 gm
449 329 lin
437 338 lin
BORDER %^BIE|MOS

391 317 gm
410 317 lin
426 332 lin
BORDER %^LIT|BIE

426 332 gm
406 347 lin
370 351 lin
BORDER %^LIT|LAT

426 332 gm
437 338 lin
BORDER %^LAT|BIE

437 338 gm
431 358 lin
BORDER %^LAT|MOS

431 358 gm
420 375 lin
BORDER %^LAT|STP

420 375 gm
400 373 lin
BORDER %^EST|LAT

420 375 gm
422 399 lin
BORDER %^EST|STP

431 358 gm
472 370 lin
495 369 lin
internal % BORDER %^STP|MOS

495 369 gm
497 404 lin
internal % BORDER %^STP|GOR

497 404 gm
422 455 lin
internal % BORDER %^STP|MUR

497 404 gm
530 424 lin
internal % BORDER %^MUR|GOR

530 424 gm
511 520 lin
internal % BORDER %^MUR|URA

495 369 gm
553 367 lin
593 345 lin
internal % BORDER %^MOS|GOR

593 345 gm
587 318 lin
571 307 lin
internal % BORDER %^MOS|VOL

593 345 gm
582 413 lin
internal % BORDER %^GOR|VOL

582 413 gm
530 424 lin
internal % BORDER %^URA|GOR

582 413 gm
627 437 lin
internal % BORDER %^URA|VOL

627 437 gm
798 570 lin     % changed, 'cause SIB has no seaborder
internal % BORDER %^URA|SIB

627 437 gm
657 383 lin
661 328 lin
internal % BORDER %^VOL|SIB

661 328 gm
633 316 lin
631 286 lin
681 256 lin
BORDER %^VOL|KAZ

661 328 gm
691 335 lin
756 323 lin
777 332 lin
763 355 lin
772 376 lin
maxx 378 lin
BORDER %^KAZ|SIB

567 241 gm
610 214 lin
internal % BORDER %^ROS|VOL

610 214 gm
645 204 lin
internal % BORDER %^VOL|CAU

610 214 gm
610 190 lin
internal % BORDER %^ROS|CAU

566 183 gm
589 191 lin
610 190 lin
BORDER %^ROS|GEO

610 190 gm
653 160 lin
660 145 lin
BORDER %^GEO|CAU

618 134 gm
626 148 lin
BORDER %^ANK|ARM

512 100 gm
501 63 lin
internal % BORDER %^IZM|ANA

531 105 gm
536 71 lin
internal % BORDER %^ANA|ADA

550 60 gm
584 67 lin
625 62 lin
BORDER %^ADA|SYR

625 62 gm
655 78 lin
BORDER %^ADA|IRK

655 78 gm
633 110 lin
636 124 lin
BORDER %^ADA|IRN

618 134 gm
636 124 lin
BORDER %^ADA|ARM

636 124 gm
658 113 lin
BORDER %^ARM|IRN

650 140 gm
658 113 lin
BORDER %^ARM|AZE

650 140 gm
660 145 lin
BORDER %^GEO|AZE

658 113 gm
674 121 lin
688 117 lin
BORDER %^AZE|IRN

660 145 gm
691 140 lin
BORDER %^AZE|CAU

536 191 gm
573 224 lin
657 217 lin
connect

740 99 gm
769 97 lin
maxx 80 lin
BORDER %^KAZ|IRN

655 78 gm
667 55 lin
674 29 lin
707 -12 lin
BORDER %^IRK|IRN

625 62 gm
627 29 lin
601 15 lin
internal % BORDER %^SYR|IRK

601 15 gm
576 10 lin
560 17 lin
internal % BORDER %^SYR|JOR

560 17 gm
548 19 lin
BORDER %^SYR|ISR

601 15 gm
604 -2 lin
internal % BORDER %^JOR|IRK

604 -2 gm
664 -19 lin
709 -21 lin
BORDER %^IRK|SAU

604 -2 gm
583 -12 lin
579 -30 lin
541 -56 lin
BORDER %^JOR|SAU

560 17 gm
558 -4 lin
540 -27 lin
BORDER %^ISR|JOR

540 -27 gm
536 -20 lin
BORDER %^SIN|ISR

536 -20 gm
534 -12 lin
BORDER %^CAI|ISR

540 -27 gm
541 -36 lin
BORDER %^SIN|JOR

536 -20 gm
520 -35 lin
internal % BORDER %^SIN|CAI

517 -31 gm
514 -14 lin
connect % Suez Canal

497 -10 gm
499 -59 lin
511 -72 lin
512 -84 lin
internal % BORDER %^ALE|CAI

512 -84 gm
536 -77 lin
internal % BORDER %^CAI|ASW

512 -84 gm
491 -77 lin
473 -79 lin
internal % BORDER %^ALE|ASW

473 -79 gm
471 -54 lin
460 -48 lin
456 -19 lin
internal % BORDER %^ESA|ALE

473 -79 gm
472 miny lin
internal % BORDER %^ESA|ASW

428 -15 gm
425 -37 lin
434 -63 lin
432 miny lin
BORDER %^LIB|ESA

% WHI|BAR
452 549 gm
464 580 lin
534 616 lin
568 592 lin
internal

% BAL|BHM
338 353 gm
336 324 lin
internal

% BIS|MAO/ENG
120 279 gm
100 243 lin
105 207 lin
internal
} def
